#include "bsp_voice.h"

#include <string.h>

uint8_t generate_voice_command(char* output, const char* msg, uint16_t msg_len) {
    // 参数检查
    if (output == NULL || msg == NULL) {
        return 0;
    }
    
    // 计算总长度
    uint16_t total_len = msg_len + 5;
    
    // 构建数据包
    output[0] = 0xFD;  // 帧头
    
    // 使用按位与 & 
    output[1] = ((msg_len + 2) >> 8) & 0xFF;   // 长度高8位
    output[2] = (msg_len + 2) & 0xFF;          // 长度低8位
    
    output[3] = 0x01;  // 命令类型
    output[4] = 0x05;  // 编码格式 (UTF-8)
    
    // 复制消息内容
    memcpy(&output[5], msg, msg_len);
    
    return total_len;
}